bitkeeper revision 1.1236.1.84 (423ab8a8Ull_l3xygvrErQi9C35RrQ)
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 18 Mar 2005 11:16:56 +0000 (11:16 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 18 Mar 2005 11:16:56 +0000 (11:16 +0000)
Don't print unwieldy array/histogram perfcounters by default.
Signed-off-by: Keir Fraser <keir@xensource.com>
tools/misc/xenperf.c
xen/common/perfc.c

index d2846224b1a0d5f5841aff26ba82a25a2786c9d5..16ddfcb2930fd71f2629866b80cd9207e76c665a 100644 (file)
@@ -22,18 +22,32 @@ int main(int argc, char *argv[])
 {
     int              i, j, xc_handle;
     xc_perfc_desc_t *pcd;
-    unsigned int     num, sum, reset = 0;
+    unsigned int     num, sum, reset = 0, full = 0;
 
     if ( argc > 1 )
     {
         char *p = argv[1];
-        if ( (*p++ == '-')  && (*p == 'r') )
-            reset = 1;
+        if ( p[0] == '-' )
+        {
+            switch ( p[1] )
+            {
+            case 'f':
+                full = 1;
+                break;
+            case 'r':
+                reset = 1;
+                break;
+            default:
+                goto error;
+            }
+        }
         else
         {
+        error:
             printf("%s: [-r]\n", argv[0]);
-            printf("no args: print xen performance counters\n");
-            printf("    -r : reset xen performance counters\n");
+            printf("no args: print digested counters\n");
+            printf("    -f : print full arrays/histograms\n");
+            printf("    -r : reset counters\n");
             return 0;
         }
     }   
@@ -94,8 +108,9 @@ int main(int argc, char *argv[])
             sum += pcd[i].vals[j];
         printf ("T=%10u ", (unsigned int)sum);
 
-        for ( j = 0; j < pcd[i].nr_vals; j++ )
-            printf(" %10u", (unsigned int)pcd[i].vals[j]);
+        if ( full || (pcd[i].nr_vals <= 4) )
+            for ( j = 0; j < pcd[i].nr_vals; j++ )
+                printf(" %10u", (unsigned int)pcd[i].vals[j]);
 
         printf("\n");
     }
index c8965ea5a82b0b66b53d979850c387a38e95caf1..14ac09af4135739d6cbdfbfe00a94a531501eca5 100644 (file)
@@ -66,12 +66,6 @@ void perfc_printall(unsigned char key)
             for ( j = sum = 0; j < perfc_info[i].nr_elements; j++ )
                 sum += atomic_read(&counters[j]);
             printk("TOTAL[%10d]  ", sum);
-            for ( j = 0; j < perfc_info[i].nr_elements; j++ )
-            {
-                if ( (j != 0) && ((j % 4) == 0) )
-                    printk("\n                   ");
-                printk("ARR%02d[%10d]  ", j, atomic_read(&counters[j]));
-            }
             counters += j;
             break;
         }